System and method for progressively transforming and coding digital data

ABSTRACT

A system and method facilitating progressively transforming and coding digital pictures is provided. The present invention via employment of a multi-resolution lapped transform provides for progressive rendering as well as mitigation of blocking artifacts and ringing artifacts as compared to many conventional compression systems. The invention includes a color space mapper, a multi-resolution lapped transform, a quantizer, a scanner and an entropy encoder. The multi-resolution lapped transform outputs transform coefficients, for example, first transform coefficients and second transform coefficients. A multi-resolution representation can be obtained utilizing second transform coefficients of the multi-resolution lapped transform. The color space mapper maps an input image to a color space representation of the input image. The color space representation of the input image is then provided to the multi-resolution lapped transform. The quantizer receives the first transform coefficients and/or the second transform coefficients and provides an output of quantized coefficients for use by the scanner and/or the entropy encoder. The scanner scans the quantized coefficients in order to produce a one-dimensional vector for use by the entropy encoder. The entropy encoder encodes the quantized coefficients received from the quantizer and/or the scanner resulting in data compression.

TECHNICAL FIELD

[0001] The present invention relates generally to digital pictureprocessing, and more particularly to a system and method facilitatingpicture encoding and/or decoding.

BACKGROUND OF THE INVENTION

[0002] The amount of information available via computers hasdramatically increased with the wide spread proliferation of computernetworks, the Internet and digital storage means. With such increasedamount of information has come the need to transmit information quicklyand to store the information efficiently. Data compression is atechnology that facilitates the effective transmitting and storing ofinformation

[0003] Data compression reduces an amount of space necessary torepresent information, and can be used for many information types. Thedemand for compression of digital information, including images, text,audio and video has been ever increasing. Typically, data compression isused with standard computer systems; however, other technologies makeuse of data compression, such as but not limited to digital andsatellite television as well as cellular/digital phones.

[0004] As the demand for handling, transmitting and processing largeamounts of information increases, the demand for compression of suchdata increases as well. Although storage device capacity has increasedsignificantly, the demand for information has outpaced capacityadvancements. For example, an uncompressed digital picture can require 5megabytes of space whereas the same picture can be compressed withoutloss and require only 2.5 megabytes of space. Thus, data compressionfacilitates transferring larger amounts of information. Even with theincrease of transmission rates, such as broadband, DSL, cable modemInternet and the like, transmission limits are easily reached withuncompressed information. For example, transmission of an uncompressedimage over a DSL line can take ten minutes. However, the same image canbe transmitted in about one minute when compressed thus providing aten-fold gain in data throughput.

[0005] In general, there are two types of compression, lossless andlossy. Lossless compression allows exact original data to be recoveredafter compression, while lossy compression allows for data recoveredafter compression to differ from the original data. A tradeoff existsbetween the two compression modes in that lossy compression provides fora better compression ratio than lossless compression because some degreeof data integrity compromise is tolerated. Lossless compression may beused, for example, when compressing critical text, because failure toreconstruct exactly the data can dramatically affect quality andreadability of the text. Lossy compression can be used with pictures ornon-critical text where a certain amount of distortion or noise iseither acceptable or imperceptible to human senses.

[0006] Picture compression is a particularly important technicalproblem, because digital pictures are a significant portion of theinformation growth referred to previously. Most Web pages today containmany pictures, and many office documents also contain several pictures.The use of digital cameras keeps growing at a fast pace; many users haveliterally thousands of pictures taken from such cameras.

[0007] One of the most popular and widely used techniques of picturecompression is the Joint Photographic Experts Group (JPEG) standard. TheJPEG standard operates by mapping an 8×8 square block of pixels into thefrequency domain by using a discrete cosine transform (DCT).Coefficients obtained by the DCT are divided by a scale factor androunded to the nearest integer (a process known as quantizing) and thenmapped to a one-dimensional vector via a fixed zigzag scan pattern. Thisone-dimensional vector is encoded using a combination of run-lengthencoding and Huffman encoding.

[0008] Although JPEG is a popular and widely used compression technique,it has several disadvantages. For example, one disadvantage of JPEG isthat at low bit rates the DCT produces irregularities anddiscontinuities in a reconstructed image (known as tiling or blockingartifacts). Blocking artifacts cause the boundary between groups of 8×8blocks of pixels to become visible in the reconstructed image. Theseblocking artifacts cause an undesirable degradation in image quality.Another disadvantage of JPEG is that JPEG cannot perform imagereconstruction that is progressive in fidelity. In other words, if animage is encoded at a certain fidelity and a lower fidelity is laterdesired (for example, due to limited bandwidth or storage availability),the image must be decoded and re-encoded.

[0009] Some of the disadvantages of JPEG are mitigated by the newJPEG2000, which replaces the DCT by wavelet transforms. Althoughwavelets provide smooth signal reconstruction without blockingartifacts, they can lead to an increase in blurring and ringingartifacts. Furthermore, JPEG2000 uses a relatively complex coefficientencoding system, resulting in a compression technique that can be 3×(ormore) slower than JPEG.

SUMMARY OF THE INVENTION

[0010] The following presents a simplified summary of the invention inorder to provide a basic understanding of some aspects of the invention.This summary is not an extensive overview of the invention. It is notintended to identify key/critical elements of the invention or todelineate the scope of the invention. Its sole purpose is to presentsome concepts of the invention in a simplified form as a prelude to themore detailed description that is presented later.

[0011] The present invention provides for a digital picture compressionsystem and methodology that employs a multi-resolution lapped transformthat receives input values (e.g., from a color space mapper), andprovides for progressive rendering. The multi-resolution lappedtransform utilizes hierarchical lapped bi-orthogonal transforms thatmitigate “blocking artifacts” associated with many conventional picturecompression systems employing discrete cosine transform (DCT), such asJPEG. Further, the use of bi-orthogonal lapped transforms reducesnoticeable “ringing artifacts” compared with conventional DCT-basedpicture compression systems.

[0012] One particular aspect of the invention provides for a picturecompression system having the color space mapper, the multi-resolutionlapped transform, a quantizer, a scanner and/or an entropy encoder. Themulti-resolution lapped transform outputs transform coefficients, forexample, first transform coefficients and second transform coefficients.A multi-resolution representation can be obtained utilizing secondtransform coefficients of the multi-resolution lapped transform. Thecolor space mapper maps an input image to a color space representationof the input image (e.g., YUV and/or YC_(O)C_(G)). The color spacerepresentation of the input image is then provided to themulti-resolution lapped transform. The quantizer receives the firsttransform coefficients and/or the second transform coefficients andprovides an output of quantized coefficients for use by the scannerand/or the entropy encoder. The scanner scans the quantized coefficientsin order to produce a one-dimensional vector for use by the entropyencoder. A Peano-like scanning order can be utilized by the scanner. Theentropy encoder encodes the quantized coefficients received from thequantizer and/or the scanner resulting in data compression. The entropyencoder can utilize an adaptive run-length encoder.

[0013] Another aspect of the present invention provides for a picturecompression system having a color space mapper, a lossless transform andan entropy encoder. The lossless transform receives input values fromthe color space mapper and utilizes a lossless transform (e.g., ahierarchical Hadamard transform).

[0014] Yet another aspect of the present invention provides for apicture decompression system having an entropy decoder, an inversetransform and a reverse color space mapper. The entropy decoder receivesa bit stream (e.g., produced by a corresponding entropy encoder) anddecodes the bit stream. The entropy decoder can utilize an adaptiverun-length decoder.

[0015] The inverse transform receives input values from the entropydecoder and utilizes inverse transforms (e.g., inverse hierarchicallapped bi-orthogonal or inverse hierarchical Hadamard). The inversetransform provides output values to the reverse color space mapper. Thereverse color space mapper maps input values (e.g., YUV and/orYC_(O)C_(G)) to an RGB output image.

[0016] Another aspect of the present invention provides for the picturecompression system to be employed in a vast array of document imageapplications, including, but not limited to, segmented layered imagesystems, photocopiers, document scanners, optical character recognitionsystems, personal digital assistants, fax machines, digital cameras,digital video cameras and/or video games.

[0017] Other aspects of the present invention provide methods for datacompression/encoding, data decompression/decoding, scanning a chunk ofcoefficients, color mapping and reverse color mapping. Further providedare a computer readable medium having computer usable instructions for asystem for picture compression and a computer readable medium havingcomputer usable instructions for a system for picture decompression.Also provided is a data packet adapted to be transmitted between two ormore computer processes comprising information associated thatfacilitates data compression, the information comprising first transformcoefficients based, at least in part, upon a lapped bi-orthogonaltransform of input values, and second transform coefficients based, atleast in part, upon a lapped bi-orthogonal transform of at least onefirst transform coefficient. A data packet adapted to be transmittedbetween two or more computer components that facilitates datacompression comprising a data field comprising first transformcoefficients based, at least in part, upon a hierarchical Hadamardtransform of input values, and, second transform coefficients based, atleast in part, upon a hierarchical Hadamard transform of at least onefirst transform coefficient is further provided.

[0018] To the accomplishment of the foregoing and related ends, certainillustrative aspects of the invention are described herein in connectionwith the following description and the annexed drawings. These aspectsare indicative, however, of but a few of the various ways in which theprinciples of the invention may be employed and the present invention isintended to include all such aspects and their equivalents. Otheradvantages and novel features of the invention may become apparent fromthe following detailed description of the invention when considered inconjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019]FIG. 1 is a block diagram of a picture compression system inaccordance with an aspect of the present invention.

[0020]FIG. 2 is a block diagram of a bi-orthogonal lapped transform inaccordance with an aspect of the present invention.

[0021]FIG. 3 is a block diagram of a multi-resolution lapped transformin accordance with an aspect of the present invention.

[0022]FIG. 4 is a block diagram of a multi-resolution lapped transformin accordance with an aspect of the present invention.

[0023]FIG. 5 is a block diagram of a multi-resolution lapped transformin accordance with an aspect of the present invention.

[0024]FIG. 6 is a block diagram illustrating a four by four data blockin accordance with an aspect of the present invention.

[0025]FIG. 7 is a block diagram illustrating a Peano-like scanningpattern for a sixteen by sixteen data macroblock in accordance with anaspect of the present invention.

[0026]FIG. 8 is a block diagram illustrating a scanning pattern for afour by four block of second level coefficients in accordance with anaspect of the present invention.

[0027]FIG. 9 is a block diagram of a picture compression system inaccordance with an aspect of the present invention.

[0028]FIG. 10 is a block diagram of a length-4 Hadamard transform inaccordance with an aspect of the present invention.

[0029]FIG. 11 is a block diagram of a picture decompression system inaccordance with an aspect of the present invention.

[0030]FIG. 12 is a flow chart illustrating a methodology for datacompression/encoding in accordance with an aspect of the presentinvention.

[0031]FIG. 13 is a flow chart illustrating a methodology for datadecompression/decoding in accordance with an aspect of the presentinvention.

[0032]FIG. 14 is a flow chart illustrating a methodology for scanning achunk of coefficients in accordance with an aspect of the presentinvention.

[0033]FIG. 15 is a block diagram illustrating a lossless color spaceforward mapper component and a reverse mapper component in accordancewith an aspect of the present invention.

[0034]FIG. 16 is a flow chart illustrating a methodology for color spacemapping in accordance with an aspect of the present invention.

[0035]FIG. 17 is a flow chart illustrating a methodology for reversecolor space mapping in accordance with an aspect of the presentinvention.

[0036]FIG. 18 illustrates an example operating environment in which thepresent invention may functions.

[0037]FIG. 19 is a schematic block diagram of an exemplary communicationenvironment in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0038] The present invention is now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the present invention. It may be evident,however, that the present invention may be practiced without thesespecific details. In other instances, well-known structures and devicesare shown in block diagram form in order to facilitate describing thepresent invention.

[0039] As used in this application, the term “computer component” isintended to refer to a computer-related entity, either hardware, acombination of hardware and software, software, or software inexecution. For example, a computer component may be, but is not limitedto being, a process running on a processor, a processor, an object, anexecutable, a thread of execution, a program, and/or a computer. By wayof illustration, both an application running on a server and the servercan be a computer component. One or more computer components may residewithin a process and/or thread of execution and a component may belocalized on one computer and/or distributed between two or morecomputers.

[0040] Referring to FIG. 1, a picture compression system 100 inaccordance with an aspect of the present invention is illustrated. Asnoted above, the system 100 of the present invention via employment of amulti-resolution lapped transform 120 provides for progressive renderingas well as mitigation of blocking artifacts and ringing artifacts ascompared to many convention compression systems. The picture compressionsystem 100 includes a color space mapper 110, a multi-resolution lappedtransform 120, a quantizer 130, a scanner 140 and an entropy encoder150.

[0041] The color space mapper 110 maps an input image to a color spacerepresentation of the input image. The color space representation of theinput image is then provided to the multi-resolution lapped transform120. In one example, the color space mapper 110 maps the input image toa YUV representation of an RGB input image (e.g., represented by red,green and blue components). A YUV representation uses a luminancecomponent denoted by Y and chrominance-red denoted by U andchrominance-blue denoted by V.

[0042] In another example, the color space mapper 110 maps the inputimage to a YC_(o)C_(g) representation. The YC_(o)C_(g) representationutilizes luminance represented by Y, chrominance-orange represented byC_(o) and chrominance-green represented by C_(g). The RGB inputcomponents are mapped to YC_(o)C_(g)(e.g., as an alternative to theconventional YUV described above) utilizing the transform:$\begin{matrix}{\begin{bmatrix}Y \\C_{o} \\C_{g}\end{bmatrix} = {\left. {\begin{bmatrix}1 & 2 & 1 \\2 & 0 & {- 2} \\{- 1} & 2 & {- 1}\end{bmatrix}\begin{bmatrix}R \\G \\B\end{bmatrix}}\Leftrightarrow\begin{bmatrix}R \\G \\B\end{bmatrix} \right. = {\begin{bmatrix}1 & 1 & {- 1} \\1 & 0 & 1 \\1 & {- 1} & {- 1}\end{bmatrix}\begin{bmatrix}Y \\C_{o} \\C_{g}\end{bmatrix}}}} & (1)\end{matrix}$

[0043] Significantly, an advantage of YC_(o)C_(g) color space mapping isthat mapping from RGB to YC_(o)C_(g) and the inverse conversion fromYC_(o)C_(g) to RGB can be accomplished utilizing integer arithmetic,thus reducing computational overhead. Further, the inverse conversioncan be performed without multiplication. The YC_(o)C_(g) color spacerepresentation can result in significantly better compressionperformance than the popular YUV because it is a better approximation tostatistically optimal spaces that are obtained from a principalcomponent analysis on modem digital picture data.

[0044] It is to be appreciated that numerous other color spacerepresentations are contemplated conducive to facilitating datacompression utilizing a multi-resolution lapped transform in connectionwith the subject invention. Any suitable color space representation foremployment in connection with the present invention is intended to fallwithin the scope of the appended claims. Further, any suitable computerprocess(es) can be performed by the color space mapper 110 (e.g.,integer and/or floating point) in accordance with the present invention.

[0045] The multi-resolution lapped transform 120 receives input values,for example, from the color space mapper 110. The multi-resolutionlapped transform 120 can allow the picture compression system 100 tohave progressive rendering. The multi-resolution lapped transform 120utilizes hierarchical lapped bi-orthogonal transforms. By using lappedtransforms, “blocking artifacts” of conventional picture compressionsystems employing discrete cosine transform (DCT), such as JPEG, can bereduced. Further, the use of lapped bi-orthogonal transforms reducesnoticeable “ringing artifacts” compared with conventional DCT-basedpicture compression systems.

[0046] Referring briefly to FIG. 2, a lapped bi-orthogonal transform(LBT) 200 in accordance with an aspect of the present invention isillustrated. The LBT 200 includes a first DCT-like transform 210 (e.g.,similar to a DCT, but not identical to it) having four inputs x(0),x(1), x(2) and x(3), associated with a first block of data. The LBT 200also includes second DCT-like transform 220 having four inputs x(0),x(1), x(2) and x(3) associated with a second block of data. The LBT 200has four outputs 230, X(0), X(1), X(2) and X(3). As illustrated in FIG.2, in the direct transform (e.g., data compression/encoding), data isprocessed from left to right, and in the inverse transform (e.g., datadecompression/decoding) data is processed from right to left. Thescaling factors can be different for the direct (D) and inverse (I)transforms.

[0047] In order to perform the lapping portion of the transform, theoutput 230 for a block of data input to the second DCT-like transform220 is dependent upon the inputs of a previous block of data input tothe first DCT-like transform 210. In the instance where no previousblock of data has been input (e.g., upon initialization and/or atcorner(s) of a picture), the input values to the first DCT-liketransform 210 would not be completely defined. Specifically x(0) andx(1) fall outside the picture boundary if the first DCT-like transform210 is the first one for a row or column. In that case, an exemplarysolution is to use even-symmetric extension, by setting x(1)=x(2) andx(0)=x(3). A similar symmetric reflection is applied to the lastDCT-like transform 210 for a picture row or column. In both cases, it iseasy to see that the first and last DCT-like transform 210 for a row orcolumn can be replaced by simple 2×2 operators (e.g., two distinctinputs, two distinct outputs).

[0048] In one example, substantially all computations in the LBT 200 canbe accomplished using only integer arithmetic and no multiplications.For example, for a given value z, a new value z/2 is implemented as aright shift: z>>1. Further, the quantity 1.25 z can be implemented byadding right shifting z twice and adding that amount to z (e.g.,z+(z>>2)). While this implementation can result in small truncationerrors produced by the shifts (as long as the data is appropriatelyscaled), notably the implementation is generally processor independent,since the result will typically be the same regardless of the processorused to perform the transform. Accordingly, substantially allimplementations of the systems and methods of the present invention canlead to substantially similar compressed files for the same originalpicture bitmap, unlike conventional data compression systems such asJPEG, MPEG, and other standards.

[0049] Turning briefly to FIG. 3, a multi-resolution lapped transform300 in accordance with an aspect of the present invention isillustrated. The multi-resolution lapped transform 300 includes a firstinitial LBT 310 _(l) through an Sth initial LBT 310 _(S), S being aninteger greater than or equal to one. The first initial LBT 310 _(l)through the Sth initial LBT 310 _(S) can be referred to collectively asthe initial LBT 310. The multi-resolution lapped transform 300 alsoincludes a secondary LBT 320. The multi-resolution lapped transform 300can be utilized, for example, by the multi-resolution lapped transform120.

[0050] The initial LBT 310 receives input values (e.g., from the colorspace mapper 110). The initial LBT 310 processes the input values andoutputs first transform coefficients based, at least in part, upon alapped bi-orthogonal transform of the input values. For example, theinitial LBT 310 can utilize the exemplary LBT 200 set forth previously.

[0051] First transform coefficient(s) of the first initial LBT 310 ₁through the Sth initial LBT 310 _(S) are provided as inputs to thesecondary LBT 320. In one example, the low frequency coefficient (e.g.,DC) is provided by the initial LBT 310 to the secondary LBT 320. Thesecondary LBT 320 processes the first transform coefficient(s) andoutputs second transform coefficient(s) based, at least in part, upon alapped bi-orthogonal transform of the input first transformcoefficient(s). For example, the secondary LBT 320 can utilize theexemplary LBT 200 set forth previously.

[0052] A multi-resolution representation can be obtained utilizingsecond transform coefficients of the secondary lapped bi-orthogonaltransform 320. For example, a bit map reconstructed by applying only thesecond level of an inverse hierarchical LBT would recover a picturebitmap that represents a 4×-downsampled version of the originalcomparable to an image resulting from conventional bicubic downsamplingfilter(s).

[0053] Referring briefly to FIG. 4, a multi-resolution lapped transform400 in accordance with an aspect of the present invention isillustrated. The transform 400 includes a first initial LBT 410 ₁, asecond initial LBT 410 ₂, a third initial LBT 410₃, a fourth initial LBT410 ₄ and a secondary LBT 420. The low frequency coefficient output ofthe first initial LBT 410 _(l), the second initial LBT 410 ₂, the thirdinitial LBT 410 ₃ and the fourth initial LBT 410 ₄ are provided asinputs to the secondary LBT 420. The multi-resolution lapped transform400 can be utilized, for example, by the multi-resolution lappedtransform 120.

[0054] Next, turning to FIG. 5, a multi-resolution lapped transform 500in accordance with an aspect of the present invention is illustrated.The transform 500 includes an initial LBT 510 and a secondary LBT 520.The low frequency coefficient outputs of the initial LBT 510 aresequentially provided to the secondary LBT 520. The secondary LBT 520provides a second level coefficient output once sufficient low frequencycoefficients have been received from the initial LBT 510. Themulti-resolution lapped transform 500 can be utilized, for example, bythe multi-resolution lapped transform 120.

[0055] For processing images, a two-dimensional transform is utilized.To achieve the two-dimensional transform, the LBTs discussed previouslycan be applied to the rows and columns of the input values (e.g., ofeach of the Y, C_(o), and C_(g) received from the color space mapper110). In one example, in order to reduce computational overhead, entirecolumns are not processed, since each column access spans almost theentire bitmap array which would require off-cache memory access.Instead, in accordance with the present invention, an internally“rolling buffer” approach, in which part of the column transform isperformed after each set of four rows is processed can be utilized. Inthis manner, the two-dimensional transform can be computed in only onescan of the original bitmap.

[0056] Referring back to FIG. 1, the quantizer 130 receives the firsttransform coefficients and/or the second transform coefficients andprovides an output of quantized coefficients for use by the scanner 140and/or the entropy encoder 150. The quantizer 130 typically introduces aloss of information into the picture compression system 100. The lossresults from the quantization of the coefficient, since for atransformed value Y, its quantized version is typically given byr=int[(Y+f)/s], where s is a step size of the quantizer 130, with |f|typically equal to s/2 and sign(f)=sign(Y). Thus, as the step size sincreases, the corresponding dynamic range of r is reduced as is thelikelihood of r equaling zero. During decompression (e.g., decoding), anapproximation to Y is recovered typically by Ŷ=r×s. Accordingly, thesmaller the step size s the closer the approximation Ŷ≈Y. As the stepsize increases, typically data compression is more effective; however,greater loss is introduced. In one example, in order to reducecomputational overhead, the quantizer 130 utilizes integer arithmetic,e.g., by scaling the values by an integer factor Z, and approximatingZ/s by an integer.

[0057] The scanner 140 scans the quantized coefficients in order toproduce a one-dimensional vector for use by the entropy encoder 150. Inone example, the scanner 140 utilizes row-wise scanning, while inanother example, the scanner utilizes column-wise scanning. In yetanother example, the scanner 140 utilizes a zigzag pattern, such as inconventional JPEG data compression systems.

[0058] In a fourth example, the quantized coefficients are scanned in adifferent but still fixed (data-independent) pattern (e.g., to avoidrandom data access). Referring briefly to FIG. 6, a four by four blockof coefficients is illustrated in accordance with an aspect of thepresent invention. Next, turning to FIG. 7, a Peano-like scanningpattern for a sixteen by sixteen data macroblock (a group of L blocks,in this case L=4) in accordance with an aspect of the present inventionis illustrated. FIG. 8 illustrates a scanning pattern for a four by fourblock of second level coefficients (such as those generated by thesecondary lapped transform of 320, 420, or 520) in accordance with anaspect of the present invention.

[0059] For each macroblock (e.g., generated by an hierarchical cascadeof 4×4 transforms), the transform value is read into one of six groupsof coefficients. Consecutive values of each group are read from Mconsecutive macroblocks (a “chunk”), and the six groups are concatenatedas one 256 M-long vector that is sent to the entropy coder. Thus, eachchunk can be encoded independently. Independent encoding allows for eachchunk to be independently decoded, thus allowing for only a portion ofthe picture bitmap to be decoded, if so desired.

[0060] The scanning pattern set forth in FIGS. 7 and 8 is a combinationof a spatial-frequency-ordered scan for the DC coefficients (e.g., thatwent through two levels of LBT) and a Peano plusspatial-frequency-ordered scan for the AC coefficients (e.g., which wentthrough only the first level of LBT). The Peano component (the shadedarrow pattern in FIG. 7) is used so that for each group of ACcoefficients that are adjacent in a particular group come from adjacent4×4 blocks. Thus, Group 0 comprises a particular second level DCcoefficient that passed through the second level LBT of each macroblock.Group 1 through Group 5 scanning can then be performed for eachmacroblock with Group 1 through Group 5 scanning then being performedfor the next macroblock and so on. Group 1 comprises, for a macroblock,the remaining DC coefficients that went through the second level LBT forthe macroblock. Group 2 comprises, for each LBT block of the macroblock,the illustrated coefficient values. Group 3 comprises, for each LBTblock of the macroblock, the illustrated coefficient values. Group 4comprises, for each LBT block of the macroblock, the illustratedcoefficient values. Group 5 comprises, for each LBT block of themacroblock, the illustrated coefficient values.

[0061] Referring back to FIG. 1, the entropy encoder 150 encodes thequantized coefficients received from the quantizer 130 and/or thescanner 140. The color space mapper 110, multi-resolution lappedtransform 120, the quantizer 130 and/or the scanner 140 have convertedoriginal pixel data into a vector of integer numbers with a reduceddynamic range and long strings of zeros—though no data compression. Theentropy encoder 150 encodes these quantized coefficients, thus resultingin data compression.

[0062] In one example, an adaptive run-length coder is utilized by theencoder 150. Each bit plane of the input vector is processed in order,starting at the most significant bit (MSB), and ending at the leastsignificant bit. For each coefficient, a bit is labeled as“significant”, if no nonzero bit has been encoded yet, or “refinement”,if a significant bit for that coefficient has already been encoded.Refinement bits are equally likely to be zero or one, so they are copiedunmodified to the bit stream. Significant bits are more likely to bezero, and so they are encoded via an adaptive and efficient run-lengthencoder, which produces symbols according to the rule described inTable 1. TABLE 1 Run-length encoding rule for significant bits, withparameter k. Codeword Input bit sequence 0 Complete run of 2^(k) zeros 1c 0 Partial run of c < 2^(k) zeros followed by a 1, sign of coefficient= ‘+’ (c is a k-bit number) 1 c 1 Partial run of c < 2^(k) zerosfollowed by a 1, sign of coefficient = ‘−’

[0063] The parameter k controls the compression efficiency of therun-length encoder. The larger the value of k, the longer the string ofzero bits that can be represented by a codeword consisting of a singlebit=0, and thus the higher the compression. The parameter k can be“tuned” to the statistics of the data such that that 2^(k) isapproximately equal to the most likely length of strings of zeros.

[0064] In traditional run-length coding, the parameter k is either fixedor regularly updated and added to the bit stream (because the decoderneeds to know of any changes in k). Both approaches can lead to asignificant performance penalty, though, for two reasons. First, theinput data has usually varying statistics, so k needs to be varied inorder to track such changes. Second, updating the value of k by copyingit into the bit stream adds significant overhead, because several bitsare needed to represent the value of k. Thus, in the adaptive run-lengthcoder of this example, a backward adaptation rule for k is used. Bybackward it is meant that k is adjusted based on the encoded symbols,not on the input data. Thus, as long as encoder and decoder use the sameadaptation rules, the values of k need not be transmitted. The basicadaptation rule is quite simple. If the codeword is zero, that means arun of zeros has just been observed, it is anticipated that runs ofzeros are more likely, and thus k is increased. If the codeword startswith a 1, that means an incomplete run has just been observed, so it isanticipated that runs of zeros are less likely, and thus k is reduced.

[0065] Integer increases in k can lead to too fast of adaptation with aresultant penalty in compression performance. Accordingly, k can beadjusted by fractional amounts (e.g., by increasing and decreasing ascaled version of k).

[0066] The run-length encoding symbols can be terminated at the end ofeach bit plane and a field with the length of the encoded data for eachbit plane added. Accordingly, the bit stream can be parsed and the leastsignificant bit plate can be removed, if desired. This is equivalent tore-encoding the data with half the step size. Thus, recompressing thatdata be accomplished by simply parsing out some bits from the compressedfile. As such, fidelity scalability can be achieved.

[0067] It is to be appreciated that numerous other entropy encodingtechniques (e.g., adaptive arithmetic encoding) are contemplated,conducive to facilitating data compression utilizing a multi-resolutionlapped transform in connection with the subject invention. Any suitableentropy encoding technique for employment in connection with the presentinvention is intended to fall within the scope of the appended claims.

[0068] While FIG. 1 is a block diagram illustrating components for thepicture compression system 100, it is to be appreciated that the colorspace mapper 110, the multi-resolution lapped transform 120, thequantizer 130, the scanner 140 and/or the entropy encoder 150 can beimplemented as one or more computer components, as that term is definedherein. Thus, it is to be appreciated that computer executablecomponents operable to implement the picture compression system 100, thecolor space mapper 110, the multi-resolution lapped transform 120, thequantizer 130, the scanner 140 and/or the entropy encoder 150 can bestored on computer readable media including, but not limited to, an ASIC(application specific integrated circuit), CD (compact disc), DVD(digital video disk), ROM (read only memory), floppy disk, hard disk,EEPROM (electrically erasable programmable read only memory) and memorystick in accordance with the present invention.

[0069] Turning next to FIG. 9, a lossless picture compression system 900in accordance with an aspect of the present invention is illustrated.The picture compression system 900 includes a color space mapper 110, alossless transform 910 and an entropy encoder 150.

[0070] The lossless transform 910 receives input values, for example,from the color space mapper 110. The lossless transform 910 utilizes alossless transform. For lossless encoding, there is no need to use anoverlapping transform, since there won't be blocking artifacts (becausethere is no quantization involved). For example, a hierarchical Hadamardtransform can be utilized by the lossless transform 910. Referringbriefly to FIG. 10, the hierarchical transform structure 1010 can beutilized, but with the 4×4 transform modules implemented by the losslessHadamard structure 1020. It is to be appreciated that the losslesstransform 1010 can be implemented as one or more computer components, asthat term is defined herein.

[0071] Turning to FIG. 11, a picture decompression system 1100 inaccordance with an aspect of the present invention is illustrated. Thesystem 1100 includes an entropy decoder 1110, a reverse scanner 1120, aninverse quantizer 1130, an inverse transform component 1140 and areverse color space mapper 1150.

[0072] The entropy decoder 1110 receives a bit stream (e.g., produced bya corresponding entropy encoder) and decodes the bit stream. In oneexample, the entropy decoder 1110 utilizes an adaptive run-lengthdecoder similar in operation to that described above with regard to theencoder 150.

[0073] The reverse scanner 1120 reverse scans the entropy decoded inputbit stream received from the entropy decoder 1110. The reverse scanner1120 provides an output of quantized first transform coefficients and/orquantized second transform coefficients to the inverse quantizer 1130.

[0074] In one example, the reverse scanner 1120 utilizes row-wisereverse scanning, while in another example, the reverse scanner utilizesreverse column-wise scanning. In yet another example, the reversescanner 1120 utilizes a zigzag pattern, such as in conventional JPEGdata compression systems. In a fourth example, the entropy decoded inputbit stream is scanned in a different but still fixed (data-independent)pattern (e.g., to avoid random data access), such as a reversePeano-like scanning pattern.

[0075] The inverse quantizer 1130 inverse quantizes the quantized firsttransform coefficients and/or quantized second transform coefficientsreceived from the reverse scanner 1120. The inverse quantizer 1130provides an output of unquantized coefficients (e.g., first transformcoefficients and/or second transform coefficients).

[0076] The inverse transform component 1140 receives output values fromthe inverse quantizer 1130. In one example, the inverse transformcomponent 1140 utilizes inverse hierarchical lapped bi-orthogonaltransforms and provides output values to the reverse color space mapper1150. For example, the inverse transform component 1140 can employ theinverse of the multi-resolution lapped transform 200 of FIG. 2 (e.g.,from right to left). In another example, the inverse transform component1140 utilizes an inverse lossless transform (e.g., an inversehierarchical Hadamard transform), for example, to decode a picturebitmap that was originally encoded with the lossless encoding system900. For example, the inverse transform (e.g., lossless) can essentiallyrevert the computations in the lossless module 1020 (e.g., in reverseorder).

[0077] The reverse color space mapper 1150 maps input values to an RGBoutput image. In one example, the reverse color space mapper 1150 maps aYUV representation to an RGB output. In another example, the reversecolor space mapper 1150 maps a YC_(o)C_(g) representation to an RGBoutput. It is to be appreciated that numerous other color spacerepresentations are contemplated conducive to facilitating datadecompression utilizing, for example, an inverse hierarchicalbi-orthogonal lapped transform in connection with the subject invention.Any suitable color space representation for employment in connectionwith the present invention is intended to fall within the scope of theappended claims. Further, any suitable computer process(es) can beperformed by the reverse color space mapper 1150 (e.g., integer and/orfloating point) in accordance with the present invention.

[0078] It is to be appreciated that the entropy decoder 1110, thereverse scanner 1120, the inverse quantizer 1130, the inverse transform1140 and/or reverse color space mapper 1150 can be computer components.

[0079] In view of the exemplary systems shown and described above,methodologies that may be implemented in accordance with the presentinvention will be better appreciated with reference to the flow chartsof FIGS. 12, 13, 14, 16 and 17. While, for purposes of simplicity ofexplanation, the methodologies is shown and described as a series ofblocks, it is to be understood and appreciated that the presentinvention is not limited by the order of the blocks, as some blocks may,in accordance with the present invention, occur in different ordersand/or concurrently with other blocks from that shown and describedherein. Moreover, not all illustrated blocks may be required toimplement the methodologies in accordance with the present invention.

[0080] The invention may be described in the general context ofcomputer-executable instructions, such as program modules, executed byone or more components. Generally, program modules include routines,programs, objects, data structures, etc. that perform particular tasksor implement particular abstract data types. Typically the functionalityof the program modules may be combined or distributed as desired invarious embodiments.

[0081] Turning to FIG. 12, a methodology 1200 for datacompression/encoding in accordance with an aspect of the presentinvention is illustrated. At 1210, for each macroblock, a transform foreach block is performed. In one example, a bi-orthogonal lappedtransform is employed (e.g., lossy mode). In another example, a losslessHadamard transform (e.g., lossless Hadamard structure 1020) is utilized(e.g., lossless mode). At 1220, a transform is performed on lowfrequency coefficient(s) of the block. In one example, a bi-orthogonallapped transform is employed (e.g., lossy mode). In a second example, alossless Hadamard transform (e.g. lossless Hadamard structure 1020) isutilized (e.g., lossless mode). Next, at 1230, coefficients arequantized. At 1240, the coefficients are scanned. At 1250, the quantizedcoefficients are encoded.

[0082] Referring to FIG. 13, a methodology 1300 for picturedecompression/decoding in accordance with an aspect of the presentinvention is illustrated. At 1310, coefficients are decoded. At 1320,for each macroblock, an inverse transform is performed on low frequencycoefficient(s) for each block. In one example, an inverse bi-orthogonallapped transform is utilized (e.g., lossy mode). In another example, aninverse lossless Hadamard transform is employed (e.g., lossless mode).At 1330, an inverse transform is performed on coefficients for eachblock. In one example, an inverse bi-orthogonal lapped transform isutilized (e.g., lossy mode). In a second example, an inverse losslessHadamard transform is employed (e.g., lossless mode).

[0083] Next, referring to FIG. 14, a methodology 1400 for scanning achunk of coefficients in accordance with an aspect of the presentinvention is illustrated. At 1410, one second level coefficient (e.g.,DC component) for each macroblock in the chunk is scanned. Next, at1420, for each macroblock in the chunk, the remaining second levelcoefficients for the macroblock are scanned. At 1430, group 2 firstlevel coefficients (e.g., AC components) for each block in themacroblock are scanned. At 1440, group 3 first level coefficients foreach block in the macroblock are scanned. At 1450, group 4 first levelcoefficients for each block in the macroblock are scanned. At 1460,group 5 first level coefficients for each block in the macroblock arescanned. If there are any more macroblocks in the chunk which have notbeen scanned, scanning continues at 1420. In the exemplary scanningmethodology just described, six groups of transform coefficients aregenerated (groups 0 to 5). While it is believed that such a scanning andgrouping arrangement produces good compression results, any othersuitable scanning and grouping pattern can be employed, for example, ifcompression performance can be sacrificed for faster processing. Anysuch scanning/grouping pattern for employment in connection with thepresent invention is intended to fall within the scope of the appendedclaims.

[0084] Turning to FIG. 15, a forward mapper component 1510 (e.g., foruse by the color mapper 110) is illustrated. The forward mappercomponent 1510 provides for the original RGB input components to bemapped to the space YC_(o)C_(g) (e.g., through scaled versions ofEquation (1)). The scaling is such that divisions by 2 are required (asindicated by arrows labeled with ½), and those can be implemented byright shifts, as previously described. At first it might appear that theerrors introduced by such shifts would be irrecoverable. However, in areverse mapper component 1520, the outputs of the forward mappercomponent 1510 are applied in reverse order, such that truncations dueto shifts (e.g., the same as in the forward mapping component 1510)happen, but their effects are now subtracted (as indicated by arrowslabeled with ½), thus allowing for recovery of the original data. Thus,the reverse mapper component 1520 can recover the original RGB inputcomponents (e.g., exactly) from the YC_(o)C_(g) components.

[0085] Referring next to FIG. 16, a methodology 1600 for color spacemapping is illustrated. For example, the methodology 1600 can beemployed by a forward mapper component 1510.

[0086] At 1610, an RGB input is received (comprising an R component, a Gcomponent and a B component). At 1620, a Y channel output comprising arepresentation of average light intensity (luminance) of the RGB inputis provided. The Y channel can be provided based on transform (1) above(e.g., Y being based, at least in part, upon R+2G+B). In one example,the Y channel can be provided by using additions and/or shifts ofinformation associated with the RGB input—without multiplications.

[0087] At 1630, a C_(o) channel output comprising a representation ofcolor information (chrominance) of the RGB input across a near orangedirection is provided. The C_(o). channel can be provided based ontransform (1) above (e.g., C_(o) being based, at least in part, upon2R-2B). In one example, the C_(o) channel can be provided by usingadditions and/or shifts of information associated with the RGBinput—without multiplications.

[0088] At 1640, a C_(g) channel output comprising a representation ofcolor information (chrominance) of the RGB input across a near greendirection is provided. The C_(g) channel can be provided based ontransform (1) above (e.g., C_(g) being based, at least in part, upon−R+2G−B). In one example, the C_(g) channel can be provided by usingadditions and/or shifts of information associated with the RGBinput—without multiplications.

[0089] In another example, the R component, the G component and/or the Bcomponent is able to be recovered by reverse mapping of the YC_(o)C_(g)channels provided according to the methodology 1600.

[0090] Turning next to FIG. 17, a methodology 1700 for reverse colorspace mapping is illustrated. For example, the methodology 1700 can beemployed by a reverse mapper component 1520.

[0091] At 1710, a YC_(o)C_(g) input comprising a Y channel representingan average light intensity, a C_(o) channel representing colorinformation across a near orange direction, and a C_(g) channelrepresenting color information across a near green direction isreceived. At 1720, an R component based, at least in part, upon theYC_(o)C_(g) input is provided. The R component can be provided based ontransform (1) above (e.g., R being based, at least in part, uponY+C_(o)−C_(g)). In one example, the R component can be provided by usingadditions and/or shifts of information associated with the YC_(o)C_(g)input—without multiplications.

[0092] At 1730, a G component based, at least in part, upon theYC_(o)C_(g) input is provided. The R component can be provided based ontransform (1) above (e.g., G being based, at least in part, uponY+C_(g)). In one example, the G component can be provided by usingadditions and/or shifts of information associated with the YC_(o)C_(g)input—without multiplications.

[0093] At 1740, a B component based at least in part, upon theYC_(o)C_(g) input is provided. The B component can be provided based ontransform (1) above (e.g. B being based, at least in part, uponY+C_(o)−C_(g)). In one example, the B component can be provided by usingadditions and/or shifts of information associated with the YC_(o)C_(g)input—without multiplications.

[0094] It is to be appreciated that the system and/or method of thepresent invention can be utilized in an overall compression systemfacilitating compression of text, handwriting, drawings, pictures andthe like. Further, those skilled in the art will recognize that thesystem and/or method of the present invention can be employed in a vastarray of document image applications, including, but not limited to,photocopiers, document scanners, optical character recognition systems,PDAs, fax machines, digital cameras, digital video cameras and/or videogames.

[0095] In order to provide additional context for various aspects of thepresent invention, FIG. 18 and the following discussion are intended toprovide a brief, general description of a suitable operating environment1810 in which various aspects of the present invention may beimplemented. FIG. 19 provides an additional and/or alternative operatingenvironment in which the present invention can operate. While theinvention is described in the general context of computer-executableinstructions, such as program modules, executed by one or more computersor other devices, those skilled in the art will recognize that theinvention can also be implemented in combination with other programmodules and/or as a combination of hardware and software. Generally,however, program modules include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular data types. The operating environment 1810 is onlyone example of a suitable operating environment and is not intended tosuggest any limitation as to the scope of use or functionality of theinvention. Other well known computer systems, environments, and/orconfigurations that may be suitable for use with the invention includebut are not limited to, personal computers, hand-held or laptop devices,multiprocessor systems, microprocessor-based systems, programmableconsumer electronics, network PCs, minicomputers, mainframe computers,distributed computing environments that include the above systems ordevices, and the like.

[0096] With reference to FIG. 18, an exemplary environment 1810 forimplementing various aspects of the invention includes a computer 1812.The computer 1812 includes a processing unit 1814, a system memory 1816,and a system bus 1818. The system bus 1818 couples system componentsincluding, but not limited to, the system memory 1816 to the processingunit 1814. The processing unit 1814 can be any of various availableprocessors. Dual microprocessors and other multiprocessor architecturesalso can be employed as the processing unit 1814.

[0097] The system bus 1818 can be any of several types of busstructure(s) including the memory bus or memory controller, a peripheralbus or external bus, and/or a local bus using any variety of availablebus architectures including, but not limited to, 18-bit bus, IndustrialStandard Architecture (ISA), Micro-Channel Architecture (MSA), ExtendedISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Universal Serial Bus (USB),Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), and Small Computer SystemsInterface (SCSI).

[0098] The system memory 1816 includes volatile memory 1820 andnonvolatile memory 1822. The basic input/output system (BIOS),containing the basic routines to transfer information between elementswithin the computer 1812, such as during start-up, is stored innonvolatile memory 1822. By way of illustration, and not limitation,nonvolatile memory 1822 can include read only memory (ROM), programmableROM (PROM), electrically programmable ROM (EPROM), electrically erasableROM (EEPROM), or flash memory. Volatile memory 1820 includes randomaccess memory (RAM), which acts as external cache memory. By way ofillustration and not limitation, RAM is available in many forms such assynchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), SynchlinkDRAM (SLDRAM), and direct Rambus RAM (DRRAM).

[0099] Computer 1812 also includes removable/nonremovable,volatile/nonvolatile computer storage media. FIG. 18 illustrates, forexample a disk storage 1824. Disk storage 1824 includes, but is notlimited to, devices like a magnetic disk drive, floppy disk drive, tapedrive, Jazz drive, Zip drive, LS-100 drive, flash memory card, or memorystick. In addition, disk storage 1824 can include storage mediaseparately or in combination with other storage media including, but notlimited to, an optical disk drive such as a compact disk ROM device(CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RWDrive) or a digital versatile disk ROM drive (DVD-ROM). To facilitateconnection of the disk storage devices 1824 to the system bus 1818, aremovable or non-removable interface is typically used such as interface1826.

[0100] It is to be appreciated that FIG. 18 describes software that actsas an intermediary between users and the basic computer resourcesdescribed in suitable operating environment 1810. Such software includesan operating system 1828. Operating system 1828, which can be stored ondisk storage 1824, acts to control and allocate resources of thecomputer system 1812. System applications 1830 take advantage of themanagement of resources by operating system 1828 through program modules1832 and program data 1834 stored either in system memory 1816 or ondisk storage 1824. It is to be appreciated that the present inventioncan be implemented with various operating systems or combinations ofoperating systems.

[0101] A user enters commands or information into the computer 1812through input device(s) 1836. Input devices 1836 include, but are notlimited to, a pointing device such as a mouse, trackball, stylus, touchpad, keyboard, microphone, joystick, game pad, satellite dish, scanner,TV tuner card, digital camera, digital video camera, web camera, and thelike. These and other input devices connect to the possessing unit 1816through the system bus 1818 via interface port(s) 1838. Interfaceport(s) 1838 include, for example, a serial port, a parallel port, agame port, and a universal serial bus (USB). Output device(s) 1840 usesome of the same type of ports as input device(s) 1836. Thus, forexample, a USB port may be used to provide input to computer 1812, andto output information from computer 1812 to an output device 1840.Output adapter 1842 is provided to illustrate that there are some outputdevices 1840 like monitors, speakers, and printers among other outputdevices 1840 that require special adapters. The output adapters 1842include, by way of illustration and not limitation, video and soundcards that provide a means of connection between the output device 1840and the system bus 1818. It should be noted that other devices and/orsystems of devices provide both input and output capabilities such asremote computer(s) 1844.

[0102] Computer 1812 can operate in a networked environment usinglogical connections to one or more remote computers, such as remotecomputer(s) 1844. The remote computer(s) 1844 can be a personalcomputer, a server, a router, a network PC, a workstation, amicroprocessor based appliance, a peer device or other common networknode and the like, and typically includes many or all of the elementsdescribed relative to computer 1812. For purposes of brevity, only amemory storage device 1846 is illustrated with remote computer(s) 1844.Remote computer(s) 1844 is logically connected to computer 1812 througha network interface 1848 and then physically connected via communicationconnection 1850. Network interface 1848 encompasses communicationnetworks such as local-area networks (LAN) and wide-area networks (WAN).LAN technologies include Fiber Distributed Data Interface (FDDI), CopperDistributed Data Interface (CDDI), Ethernet/IEEE 1502.3, Token Ring/IEEE1502.5 and the like. WAN technologies include, but are not limited to,point-to-point links, circuit switching networks like IntegratedServices Digital Networks (ISDN) and variations thereon, packetswitching networks, and Digital Subscriber Lines (DSL).

[0103] Communication connection(s) 1850 refers to the hardware/softwareemployed to connect the network interface 1848 to the bus 1818. Whilecommunication connection 1850 is shown for illustrative clarity insidecomputer 1812, it can also be external to computer 1812. Thehardware/software necessary for connection to the network interface 1848includes, for exemplary purposes only, internal and externaltechnologies such as, modems including regular telephone grade modems,cable modems and DSL modems, ISDN adapters, and Ethernet cards.

[0104]FIG. 19 is a schematic block diagram of a sample computingenvironment 1900 with which the present invention can interact. Thesystem 1900 includes one or more client(s) 1910. The client(s) 1910 canbe hardware and/or software (e.g., threads, processes, computingdevices). The system 1900 also includes one or more server(s) 1930. Theserver(s) 1930 can also be hardware and/or software (e.g., threads,processes, computing devices). The server(s) 1930 can house threads toperform transformations by employing the present invention, for example.One possible communication between a client 1910 and a server 1930 maybe in the form of a data packet adapted to be transmitted between two ormore computer processes. The system 1900 includes a communicationframework 1950 that can be employed to facilitate communications betweenthe client(s) 1910 and the server(s) 1930. The client(s) 1910 areoperably connected to one or more client data store(s) 1960 that can beemployed to store information local to the client(s) 1910. Similarly,the server(s) 1930 are operably connected to one or more server datastore(s) 1940 that can be employed to store information local to theserver(s) 1930.

[0105] What has been described above includes examples of the presentinvention. It is, of course, not possible to describe every conceivablecombination of components or methodologies for purposes of describingthe present invention, but one of ordinary skill in the art mayrecognize that many further combinations and permutations of the presentinvention are possible. Accordingly, the present invention is intendedto embrace all such alterations, modifications and variations that fallwithin the spirit and scope of the appended claims. Furthermore, to theextent that the term “includes” is used in either the detaileddescription or the claims, such term is intended to be inclusive in amanner similar to the term “comprising” as “comprising” is interpretedwhen employed as a transitional word in a claim.

What is claimed is:
 1. A picture compression system, comprising: a firstlapped bi-orthogonal transform that receives input values, the firstlapped bi-orthogonal transform providing an output comprising firsttransform coefficients, the first transform coefficients being based, atleast in part, upon a lapped bi-orthogonal transform of the inputvalues; and, a second lapped bi-orthogonal transform that receives atleast one of the first transform coefficients from the first lappedbi-orthogonal transform, the second lapped bi-orthogonal transformproviding an output comprising a second transform coefficient, thesecond transform coefficient being based, at least in part, upon alapped bi-orthogonal transform of the at least one first transformcoefficients.
 2. The picture compression system of claim 1, furthercomprising a color space mapper that maps an input image to aYC_(o)C_(g) representation of the input image, the color space mapperproviding the YC_(o)C_(g) representation as input values to the firstlapped bi-orthogonal transform.
 3. The picture compression system ofclaim 1, further comprising a color space mapper that maps an inputimage to a YUV representation of the input image, the color space mapperproviding the YUV representation as input values to the first lappedbi-orthogonal transform.
 4. The picture compression system of claim 1,further comprising a quantizer that quantizes at least one of the firsttransform coefficients and the second transform coefficient, thequantizer providing an output of quantized coefficients.
 5. The picturecompression system of claim 4, further comprising a scanner that scansthe quantized coefficients.
 6. The picture compression system of claim5, the scanner using, at least in part, a Peano-like scanning order. 7.The picture compression system of claim 4, further comprising an entropyencoder that digitally entropy encodes the quantized coefficients. 8.The picture compression system of claim 1, the first lappedbi-orthogonal transform utilizing integer math in performing the lappedbi-orthogonal transform of the input values.
 9. The picture compressionsystem of claim 1, the first lapped bi-orthogonal transform utilizingfloating point math in performing the lapped bi-orthogonal transform ofthe input values.
 10. A photocopier employing the picture compressionsystem of claim
 1. 11. A document scanner employing the picturecompression system of claim
 1. 12. An optical character recognitionsystem employing the picture compression system of claim
 1. 13. Apersonal digital assistant employing the picture compression system ofclaim
 1. 14. A fax machine employing the picture compression system ofclaim
 1. 15. A digital camera employing the picture compression systemof claim
 1. 16. A digital video camera employing the picture compressionsystem of claim
 1. 17. A segmented layered image system employing thepicture compression system of claim
 1. 18. A video game employing thepicture compression system of claim 1
 19. A picture compression system,comprising: a color space mapper that maps an input image to a colorspace representation; a lossless transform that receives input valuesfrom the color space mapper, the lossless transform providing an outputcomprising lossless transformed coefficients, the lossless transformcoefficients being based, at least in part, upon a hierarchical Hadamardtransform of the input values; and, an entropy encoder that digitallyentropy encodes the lossless transformed coefficients.
 20. The picturecompression system of claim 19, the color space mapper mapping the inputimage to a Y C_(o)C_(g) representation of the input image.
 21. A picturedecompression system, comprising: an entropy decoder that digitallyentropy decodes an input bit stream; an inverse transform component thatreceives input values from the entropy decoder, the inverse transformcomponent utilizing inverse hierarchical lapped bi-orthogonal transformsand providing output values; and, a reverse color space mapper that mapsoutput values from the inverse transform component to an RGB outputimage.
 22. The picture decompression system of claim 21, the reversecolor space mapper mapping the output values from a YC_(o)C_(g)representation.
 23. The picture decompression system of claim 21,further comprising a reverse scanner that reverse scans the entropydecoded input bit stream, the reverse scanner providing an output of atleast one of quantized first transform coefficients and quantized secondtransform coefficients.
 24. The picture decompression system of claim23, further comprising an inverse quantizer that inverse quantizes theat least one of quantized first transform coefficients and quantizedsecond transform coefficients, the inverse quantizer providing an outputof unquantized coefficients.
 25. A picture decompression system,comprising: an entropy decoder that digitally entropy decodes an inputbit stream; an inverse transform component that receives input valuesfrom the entropy decoder, the inverse transform component utilizinginverse hierarchical Hadamard transforms and providing output values;and, a reverse color space mapper that maps output values from theinverse transform component to an RGB output image.
 26. The picturedecompression system of claim 21, the reverse color space mapper mappingthe output values from a YC_(o)C_(g) representation.
 27. The picturedecompression system of claim 21, further comprising a reverse scannerthat reverse scans the entropy decoded input bit stream, the reversescanner providing an output of at least one of quantized first transformcoefficients and quantized second transform coefficients.
 28. Thepicture decompression system of claim 23, further comprising an inversequantizer that inverse quantizes the at least one of quantized firsttransform coefficients and quantized second transform coefficients, theinverse quantizer providing an output of unquantized coefficients.
 29. Amethod for picture data compression/encoding, comprising: providingfirst level coefficients based, at least in part, upon a bi-orthogonallapped transform of input values; and, providing a second levelcoefficient based, at least in part, upon a bi-orthogonal lappedtransform of first level coefficients.
 30. The method of claim 29,further comprising at least one of the following acts: quantizing thefirst level coefficients; quantizing the second level coefficient;scanning at least one of the first level coefficients and the secondlevel coefficient; and, encoding at least one of the first levelcoefficients and the second level coefficient.
 31. A method for picturedata decompression/decoding, comprising: decoding coefficients;providing second level coefficients based, at least in part, upon aninverse bi-orthogonal lapped transform of decoded coefficients; and,providing first level coefficients based, at least in part, upon aninverse bi-orthogonal lapped transform of second level coefficients anddecoded coefficients.
 32. A method for picture datacompression/encoding, comprising: providing first level coefficientsbased, at least in part, upon a hierarchical Hadamard transform of inputvalues; and, providing a second level coefficient based, at least inpart, upon hierarchical Hadamard transform of first level coefficients.33. The method of claim 32, further comprising at least one of thefollowing acts: quantizing the first level coefficients; quantizing thesecond level coefficient; scanning at least one of the first levelcoefficients and the second level coefficient; and, encoding at leastone of the first level coefficients and the second level coefficient.34. A method for picture data decompression/decoding, comprising:decoding coefficients; providing second level coefficients based, atleast in part, upon an inverse hierarchical Hadamard transform ofdecoded coefficients; and, providing first level coefficients based, atleast in part, upon an inverse hierarchical Hadamard transform of secondlevel coefficients and decoded coefficients.
 35. A method for scanningquantized multi-resolution lapped transform coefficients of a datachunk, comprising: scanning at least one second level coefficient foreach macroblock in the chunk; scanning the remaining second levelcoefficients for the macroblock; and scanning a second group of firstlevel coefficients for each block in the macroblock.
 36. The method ofclaim 35, further comprising scanning a third group of first levelcoefficients for each block in the macroblock.
 37. The method of claim36, further comprising scanning a fourth group of first levelcoefficients for each block in the macroblock.
 38. The method of claim37, further comprising scanning a fifth group of first levelcoefficients for each block in the macroblock.
 39. A data packettransmitted between two or more computer components that facilitatesdata compression, the data packet comprising: a data field comprisingfirst transform coefficients based, at least in part, upon a lappedbi-orthogonal transform of input values; and, second transformcoefficients based, at least in part, upon a lapped bi-orthogonaltransform of at least one first transform coefficient.
 40. A data packettransmitted between two or more computer components that facilitatesdata compression, the data packet comprising: a data field comprisingfirst transform coefficients based, at least in part, upon ahierarchical Hadamard transform of input values; and, second transformcoefficients based, at least in part, upon a hierarchical Hadamardtransform of at least one first transform coefficient.
 41. A computerreadable medium storing computer executable components of a system forpicture compression, comprising: a first lapped bi-orthogonal transformcomponent that receives input values, the first lapped bi-orthogonaltransform component providing an output comprising first transformcoefficients, the first transform coefficients being based, at least inpart, upon a lapped bi-orthogonal transform of the input values; and, asecond lapped bi-orthogonal transform component that receives at leastone of the first transform coefficients from the first lappedbi-orthogonal transform component, the second lapped bi-orthogonaltransform component providing an output comprising a second transformcoefficient, the second transform coefficient being based, at least inpart, upon a lapped bi-orthogonal transform of the at least one firsttransform coefficients.
 42. A computer readable medium storing computerexecutable components of a system for picture compression, comprising: afirst hierarchical Hadamard transform component that receives inputvalues, the first hierarchical Hadamard transform component providing anoutput comprising first transform coefficients, the first transformcoefficients being based, at least in part, upon a hierarchical Hadamardtransform of the input values; and, a second hierarchical Hadamardtransform component that receives at least one of the first transformcoefficients from the first hierarchical Hadamard transform component,the second hierarchical Hadamard transform component providing an outputcomprising a second transform coefficient, the second transformcoefficient being based, at least in part, upon a hierarchical Hadamardtransform of the at least one first transform coefficients.
 43. Acomputer readable medium storing computer executable components of asystem for picture decompression, comprising: an entropy decodercomponent that digitally entropy decodes an input bit stream; an inversetransform component that receives input values from the entropy decodercomponent, the inverse transform component utilizing inversehierarchical lapped bi-orthogonal transforms and providing outputvalues; and, a reverse color space mapper component that maps outputvalues from the inverse transform component to an RGB output image. 44.A computer readable medium storing computer executable components of asystem for picture decompression, comprising: an entropy decodercomponent that digitally entropy decodes an input bit stream; an inversetransform component that input values from the entropy decodercomponent, the inverse transform component utilizing inversehierarchical Hadamard transforms and providing output values; and, areverse color space mapper that maps output values from the inversetransform component to an RGB output image.
 45. A picture compressionsystem, comprising: means for color space mapping an input image to acolor space representation; means for performing a multi-resolutionlapped transform of the color space representation and providing firsttransform coefficients and second transform coefficients; means forquantizing the first transform coefficients and the second transformcoefficients; means for scanning the first transform coefficients andthe second transform coefficients; and, means for digitally entropyencoding the scanned first transform coefficients and the secondtransform coefficients.
 46. A method for color space mapping,comprising: receiving an RGB input; providing a Y channel outputcomprising a representation of average light intensity of the RGB input;providing a C_(o) channel output comprising a representation of colorinformation of the RGB input across a near orange direction; and,providing a C_(g) channel output comprising a representation of colorinformation of the RGB input across a near green direction.
 47. Themethod of claim 46, further comprising at least one of the followingacts: the RGB input comprising an R component, a G component and a Bcomponent; providing the Y channel being based, at least in part, uponR+2G+B; providing the C_(o) channel being based, at least in part, upon2R−2B; and, providing the C_(g) channel being based, at least in part,upon −R+2G−B.
 48. The method of claim 46, further comprising at leastone of the following acts: providing the Y channel being performed usingadditions and shifts; providing the C_(o) channel being performed usingadditions and shifts; and, providing the C_(g) channel being performedusing additions and shifts.
 49. The method of claim 46, the R componentbeing able to be recovered by reverse mapping of the YC_(o)C_(g)channels.
 50. The method of claim 46, the G component being able to berecovered by reverse mapping of the YC_(o)C_(g) channels.
 51. The methodof claim 46, the B component being able to be recovered by reversemapping of the YC_(o)C_(g) channels.
 52. A method for reverse colorspace mapping, comprising: receiving a YC_(o)C_(g) input comprising a Ychannel representing an average light intensity, a C_(o) channelrepresenting color information across a near orange direction, and aC_(g) channel representing color information across a near greendirection; providing an R component based, at least in part, upon theYC_(o)C_(g) input; providing a G component based, at least in part, uponthe YC_(o)C_(g) input; and, providing a B component based at least inpart, upon the YC_(o)C_(g) input.
 53. The method of claim 52, furthercomprising at least one of the following acts: providing the R componentbeing based, at least in part, upon Y+C_(o)−C_(g); providing the Gcomponent being based, at least in part, upon Y+C_(g); and, providingthe B component channel being based, at least in part, Y−C_(o)−C_(g).54. The method of claim 52, further comprising at least one of thefollowing acts: providing the R component being performed usingadditions and shifts; providing the G component being performed usingadditions and shifts; and, providing the B component being performedusing additions and shifts.